package modelo;

import java.io.Serializable;

import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Entity
@Table(name="entrada",schema="public")
@PrimaryKeyJoinColumn(name="cod_entrada")
public class Entrada implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="cod_entrada")
	private String codEntrada;
	@Column(name="precio_entrada")
	private Double precio;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_ciudad")
	private Ciudad ciudad;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_evento")
	private Evento evento;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_seccion")
	private Seccion seccion;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_factura")
	private Factura factura;
	@OneToOne(cascade= CascadeType.ALL)
	@JoinColumn(name="cod_reservacion")
	private Reservacion reservacion;
	public Entrada() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Entrada(String codEntrada, Double precio, Ciudad ciudad,
			Evento evento, Seccion seccion, Factura factura,
			Reservacion reservacion) {
		super();
		this.codEntrada = codEntrada;
		this.precio = precio;
		this.ciudad = ciudad;
		this.evento = evento;
		this.seccion = seccion;
		this.factura = factura;
		this.reservacion = reservacion;
	}
	public String getCodEntrada() {
		return codEntrada;
	}
	public void setCodEntrada(String codEntrada) {
		this.codEntrada = codEntrada;
	}
	public Double getPrecio() {
		return precio;
	}
	public void setPrecio(Double precio) {
		this.precio = precio;
	}
	public Ciudad getCiudad() {
		return ciudad;
	}
	public void setCiudad(Ciudad ciudad) {
		this.ciudad = ciudad;
	}
	public Evento getEvento() {
		return evento;
	}
	public void setEvento(Evento evento) {
		this.evento = evento;
	}
	public Seccion getSeccion() {
		return seccion;
	}
	public void setSeccion(Seccion seccion) {
		this.seccion = seccion;
	}
	public Factura getFactura() {
		return factura;
	}
	public void setFactura(Factura factura) {
		this.factura = factura;
	}
	public Reservacion getReservacion() {
		return reservacion;
	}
	public void setReservacion(Reservacion reservacion) {
		this.reservacion = reservacion;
	}
	
	
}
